package com.management.department.teacherinfosystem.Service;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.management.department.teacherinfosystem.DTO.ActivityStatsDTO;
import com.management.department.teacherinfosystem.DTO.ActivitySubmitDTO;
import com.management.department.teacherinfosystem.Entity.Activity;

public interface ActivityService {
    Page<Activity> listMyActivities(Long userId, Pageable pageable, String type, String role, String organizerLevel, String startDate, String endDate, String status);
    Page<Activity> listAllActivities(Pageable pageable, String type, String role, String organizerLevel, String startDate, String endDate, String status);
    Activity getById(Long id);
    Long create(Long userId, ActivitySubmitDTO dto);
    void update(Long id, Long userId, ActivitySubmitDTO dto);
    void delete(Long id, Long userId);

    void review(Long id, Long reviewerId, String status, String opinion);
    ActivityStatsDTO stats(String type, String role, String organizerLevel, String startDate, String endDate);
} 